package com.css.dzj.dzjap.modules.project.generecord.service;

import com.css.dzj.dzjap.modules.project.generecord.entity.Generecord;
import com.css.dzj.dzjap.modules.publick.entity.ApPublicEntity;
import com.querydsl.core.QueryResults;
import org.springframework.data.domain.Pageable;

import java.util.List;

/**
 * @author liyuan
 */
public interface GenerecordService {

    /**
     * 多条件分页查询
     * @param proName
     * @param unitName
     * @param checkStatus
     * @param reportStatus
     * @param reCreateDepartment
     * @param reCreateUser
     * @param proAddress
     * @param pageable
     * @return
     */
    QueryResults<Generecord> getPage(String proName, String unitName,
                                     String reCreateUser, String checkStatus,
                                     String reportStatus,String reCreateDepartment,
                                     String proAddress, String orgLevel,Pageable pageable);

    /**
     * 根据Id查询备案表信息
     *
     * @param id
     * @return
     */
    Generecord queryById(String id);

    /**
     * 新增
     *
     * @param generecord
     */
    void save(Generecord generecord);

    /**
     * 修改
     *
     * @param generecord
     */
    void update(Generecord generecord);

    /**
     * 审核
     * @param generecord
     */
    void check(Generecord generecord);

    /**
     * 逻辑删除
     */
    void logicDel(String id);

    /**
     * 根据ID修改上报状态
     * @param id
     */
    void updateReportStatus(String id);

    /**
     * 根据ID修改提交状态
     * @param id
     */
    void updateSubmitStatus(String id);

    /**
     * 一般工程，中国地震局用户添加拟制公告
     * @param apPublicEntity
     */
    void addPublick(ApPublicEntity apPublicEntity);

    /***
     * 根据行业性质查询
     * @param location
     * @param industry
     * @return
     */
    List<Generecord> getByIn(String location,String industry);
}
